package com.scau402.system1.service;

import com.scau402.common.core.domain.AjaxResult;
import com.scau402.common.core.domain.entity.SysUser;
import com.scau402.system1.domain.dto.InboundDTO;
import com.scau402.system1.domain.po.WmsInboundOrderPO;
import com.scau402.system1.domain.query.InboundJadeQuery;
import com.scau402.system1.domain.query.WmsInboundOrderQuery;
import com.scau402.system1.domain.vo.WmsInboundJadeVO;
import com.scau402.system1.domain.vo.WmsInboundOrderVO;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 商品入库单主表 服务类
 * </p>
 *
 * @author
 * @since 2023-12-23
 */
public interface IWmsInboundOrderService {

    List<WmsInboundOrderVO> selectWmsInboundOrderList(WmsInboundOrderQuery query);

    AjaxResult add(InboundDTO inboundDTO);

    void merge(List<Long> inboundOrderIds);

    String getNewCode(SysUser user);

    String getMaxCode(SysUser user);

    List<WmsInboundJadeVO> selectInboundJadeList(InboundJadeQuery query);

    boolean checkExists(String inboundOrderCode);

    WmsInboundOrderPO getByInboundOrderCode(String inboundOrderCode);

    Map<Long, String> getInboundTypeList(List<Long> wmsJadeIdList,Long type);

    AjaxResult deleteWmsInboundOrderByIds(Long[] ids);
}
